package nsu.edu.zsq.bean;

import java.util.Date;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * Description: 消息表
 */
public class Message {
    /**
     *  id
     */
    private Integer id;

    /**
     * 标题 title
     */
    @NotNull
    private String title;

    /**
     * 消息类型，1：学校；2：教师；3：学生 type
     */
    @Min(value=1, message="消息类型格式不正确")
    @Max(value=3, message="消息类型格式不正确")
    private Integer type;

    /**
     * 是否置顶，0：不置顶；1：置顶 top
     */
    @Min(value=0, message="是否置顶格式不正确")
    @Max(value=1, message="是否置顶格式不正确")
    private Integer top;

    /**
     * 操作者 operator
     */
    private String operator;

    /**
     * 操作时间 operator_time
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date operatorTime;

    /**
     * 消息内容，富文本格式 txt
     */
    @NotNull
    private String txt;

    /**
     * Get
     * @return id 
     */
    public Integer getId() {
        return id;
    }

    /**
     * Set
     * @param id 
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * Get 标题
     * @return title 标题
     */
    public String getTitle() {
        return title;
    }

    /**
     * Set 标题
     * @param title 标题
     */
    public void setTitle(String title) {
        this.title = title == null ? null : title.trim();
    }

    /**
     * Get 消息类型，1：学校；2：教师；3：学生
     * @return type 消息类型，1：学校；2：教师；3：学生
     */
    public Integer getType() {
        return type;
    }

    /**
     * Set 消息类型，1：学校；2：教师；3：学生
     * @param type 消息类型，1：学校；2：教师；3：学生
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * Get 是否置顶，0：不置顶；1：置顶
     * @return top 是否置顶，0：不置顶；1：置顶
     */
    public Integer getTop() {
        return top;
    }

    /**
     * Set 是否置顶，0：不置顶；1：置顶
     * @param top 是否置顶，0：不置顶；1：置顶
     */
    public void setTop(Integer top) {
        this.top = top;
    }

    /**
     * Get 操作者
     * @return operator 操作者
     */
    public String getOperator() {
        return operator;
    }

    /**
     * Set 操作者
     * @param operator 操作者
     */
    public void setOperator(String operator) {
        this.operator = operator == null ? null : operator.trim();
    }

    /**
     * Get 操作时间
     * @return operator_time 操作时间
     */
    public Date getOperatorTime() {
        return operatorTime;
    }

    /**
     * Set 操作时间
     * @param operatorTime 操作时间
     */
    public void setOperatorTime(Date operatorTime) {
        this.operatorTime = operatorTime;
    }

    /**
     * Get 消息内容，富文本格式
     * @return txt 消息内容，富文本格式
     */
    public String getTxt() {
        return txt;
    }

    /**
     * Set 消息内容，富文本格式
     * @param txt 消息内容，富文本格式
     */
    public void setTxt(String txt) {
        this.txt = txt == null ? null : txt.trim();
    }
}